/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.takeorder.entity;

import com.jeeplus.modules.takegoods.entity.TakeGoods;
import com.jeeplus.modules.member.entity.Member;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 提货订单Entity
 * @author w
 * @version 2021-03-26
 */
public class TakeOrder extends DataEntity<TakeOrder> {
	
	private static final long serialVersionUID = 1L;
	private String orderNo;		// 订单号
	private TakeGoods takeGoods;		// 提货商品
	private String goodsName;		// 提货商品名
	private Double goodsPrice;		// 商品单价
	private Integer goodsNum;		// 提货数量
	private Member member;		// 提货人
	private String serviceId;   //积分中心
	private Double totalPrice;		// 消耗提货券
	private String orderStatus;		// 订单状态
	private Date payTime;		// 支付时间
	private String expressName;		// 物流公司
	private String expressNo;		// 物流编号
	private Date beginPayTime;		// 开始 支付时间
	private Date endPayTime;		// 结束 支付时间
	private String mobile;		//手机
	private String address;		//收货地址
	private String name;		//收货人姓名

	private String pic;

	/**
	 * 表单提交积分中心
	 */
	private Member serviceMem;

	private String deliveryMethod;		//发货方式
	public TakeOrder() {
		super();
	}

	public TakeOrder(String id){
		super(id);
	}

	@ExcelField(title="订单号", align=2, sort=1)
	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	
	@ExcelField(title="提货商品", fieldType=TakeGoods.class, value="takeGoods.goodsName", align=2, sort=2)
	public TakeGoods getTakeGoods() {
		return takeGoods;
	}

	public void setTakeGoods(TakeGoods takeGoods) {
		this.takeGoods = takeGoods;
	}
	
	@ExcelField(title="提货商品名", align=2, sort=3)
	public String getGoodsName() {
		return goodsName;
	}

	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}
	
	@ExcelField(title="商品单价", align=2, sort=4)
	public Double getGoodsPrice() {
		return goodsPrice;
	}

	public void setGoodsPrice(Double goodsPrice) {
		this.goodsPrice = goodsPrice;
	}
	
	@ExcelField(title="提货数量", align=2, sort=5)
	public Integer getGoodsNum() {
		return goodsNum;
	}

	public void setGoodsNum(Integer goodsNum) {
		this.goodsNum = goodsNum;
	}
	
	@ExcelField(title="提货人", fieldType=Member.class, value="member.loginName", align=2, sort=6)
	public Member getMember() {
		return member;
	}

	public void setMember(Member member) {
		this.member = member;
	}

	@ExcelField(title="积分中心", align=2, sort=6)
	public String getServiceId() {
		return serviceId;
	}

	public void setServiceId(String serviceId) {
		this.serviceId = serviceId;
	}

	@ExcelField(title="姓名", align=2, sort=6)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@ExcelField(title="手机号", align=2, sort=6)
	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	@ExcelField(title="收货地址", align=2, sort=6)
	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@ExcelField(title="消耗提货券", align=2, sort=7)
	public Double getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(Double totalPrice) {
		this.totalPrice = totalPrice;
	}
	
	@ExcelField(title="订单状态", dictType="orders_status", align=2, sort=8)
	public String getOrderStatus() {
		return orderStatus;
	}

	public void setOrderStatus(String orderStatus) {
		this.orderStatus = orderStatus;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="支付时间", align=2, sort=9)
	public Date getPayTime() {
		return payTime;
	}

	public void setPayTime(Date payTime) {
		this.payTime = payTime;
	}
	
	@ExcelField(title="物流公司", align=2, sort=10)
	public String getExpressName() {
		return expressName;
	}

	public void setExpressName(String expressName) {
		this.expressName = expressName;
	}
	
	@ExcelField(title="物流编号", align=2, sort=11)
	public String getExpressNo() {
		return expressNo;
	}

	public void setExpressNo(String expressNo) {
		this.expressNo = expressNo;
	}
	
	public Date getBeginPayTime() {
		return beginPayTime;
	}

	public void setBeginPayTime(Date beginPayTime) {
		this.beginPayTime = beginPayTime;
	}
	
	public Date getEndPayTime() {
		return endPayTime;
	}

	public void setEndPayTime(Date endPayTime) {
		this.endPayTime = endPayTime;
	}

	public String getPic() {
		return pic;
	}

	public void setPic(String pic) {
		this.pic = pic;
	}

	public Member getServiceMem() {
		return serviceMem;
	}

	public void setServiceMem(Member serviceMem) {
		this.serviceMem = serviceMem;
	}

	@ExcelField(title="发货方式", dictType="take_delivery", align=2, sort=12)
	public String getDeliveryMethod() {
		return deliveryMethod;
	}

	public void setDeliveryMethod(String deliveryMethod) {
		this.deliveryMethod = deliveryMethod;
	}
}